﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Sinacor.UI.Bovespa.Parametro.Communication.Bovespa.Operador;
using Sinacor.UI.Bovespa.Parametro.Model;
using Sinacor.Infra.UI.Common;
using Sinacor.UI.Bovespa.Parametro.Communication.Bovespa.Operador.Operador;

namespace Sinacor.UI.Bovespa.Parametro.Communication.Translator.ModelToDataContract
{
    //Task : 5435
    //Data : 02/03/2009
    //Autor: Andre
    /// <summary>
    /// Translator da  Model para o Data Contract
    /// </summary>
    /// 
    public class Operador
    {
        public List<Sinacor.UI.Bovespa.Parametro.Communication.Bovespa.Operador.Operador.OperadorResponse> ToOperador(ModelCollection<Sinacor.UI.Bovespa.Parametro.Model.Operador> from)
        {

            List<Sinacor.UI.Bovespa.Parametro.Communication.Bovespa.Operador.Operador.OperadorResponse> to = new List<Sinacor.UI.Bovespa.Parametro.Communication.Bovespa.Operador.Operador.OperadorResponse>();
            
            foreach (Sinacor.UI.Bovespa.Parametro.Model.Operador item in from)
            {
                to.Add(ToOperadorRequest(item));
            }

            return to;

        }

        public Sinacor.UI.Bovespa.Parametro.Communication.Bovespa.Operador.Operador.OperadorResponse ToOperadorRequest(Sinacor.UI.Bovespa.Parametro.Model.Operador from)
        {

            Sinacor.UI.Bovespa.Parametro.Communication.Bovespa.Operador.Operador.OperadorResponse to = new Sinacor.UI.Bovespa.Parametro.Communication.Bovespa.Operador.Operador.OperadorResponse();
            to.CodigoOperador = from.CodigoOperador;
            to.CodigoOperadorMegaBolsa = from.CodigoOperadorMegaBolsa;
            to.IndicadorDesprezaOperadorSinalOfertasMegaBolsa = from.IndicadorDesprezaOperadorSinalOfertasMegaBolsa;
            to.IndicadorOperadorHomeBroker = from.IndicadorOperadorHomeBroker;
            to.IndicadorPontaMesa = from.IndicadorPontaMesa;
            to.LoginOperador = from.LoginOperador;
            to.NomeOperador = from.NomeOperador;
            to.Bloqueado = from.Bloqueado;
            return to;

        }

        public FiltroOperadorRequest ToFiltroOperadorRequest(Model.Parameter.FiltroOperador from)
        {
            if (from == null) return null;

            return new FiltroOperadorRequest
            {
                CodigoOperador = from.CodigoOperador,
                CodigoOperadorMegaBolsa = from.CodigoOperadorMegaBolsa,
                IndicadorDesprezaOperadorSinalOfertasMegaBolsa = from.IndicadorDesprezaOperadorSinalOfertasMegaBolsa,
                IndicadorOperadorHomeBroker = from.IndicadorOperadorHomeBroker,
                IndicadorPontaMesa = from.IndicadorPontaMesa,
                LoginOperador = from.LoginOperador,
                NomeOperador = from.NomeOperador,
                Bloqueado = from.Bloqueado
            };
        }

    }
}